Jim Larsen begon de jeugd van het plaatselijke Korsør FF, alvorens hij via Slagelse B&I bij AGF belandde. Zijn debuut maakte hij bij Grenaa IF. Nadien kwam hij uit voor respectievelijk Brabrand IF en Silkeborg IF. Bij die laatste club brak hij door. De grote verdediger versierde een transfer naar Rosenborg BK, waar hij meteen een vaste waarde werd. In juli 2012 tekende hij een contract bij Club Brugge. Zijn periode bij de Belgische ploeg werd geen onverdeeld succes. Amper zeventien wedstrijden en een doelpunt verder, verliet Larsen de club al wegens aanhoudend blessureleed. Ook bij zijn laatste ploeg FC Midtjylland had de verdediger vaak te kampen met blessures. In mei 2016 besliste hij om op 30-jarige leeftijd een punt te zetten achter zijn carrière.